﻿namespace ETModel
{
	public class MessageAttribute: BaseAttribute
	{
        public int ID { get; protected set; }
    }

    public class InMessageAttribute : MessageAttribute
    {
        public InMessageAttribute(ushort opcode, ushort childOpcode = 0)
        {
            this.ID = (childOpcode << 0x10) | opcode;
        }
    }

    public class OutMessageAttribute : MessageAttribute
    {
        public OutMessageAttribute(ushort opcode, ushort childOpcode = 0)
        {
            this.ID = (childOpcode << 0x10) | opcode;
        }
    }
}